iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 25
1
Software Development

iOS 從 Objective-c 進化為 Swift 的 30天之旅系列 第 25

[Day 25] Swift SQLite.swift 回傳Value Binding 轉換教學(二)

  • 分享至 

  • xImage
  •  

前言

上一篇已解決Binding 轉Int
可以先轉成Int64再轉Int
這樣程式裡面就不會報錯了
今天發現那Date格式勒
竟然回傳的是nil
怎麼可能
今天就來看看如何把他救出來

SQLite.swift程式

func reloadData(selectCode:String){
    productList = [ProductItemtMode]()
    let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
    let db = try? Connection("\(path)/Chuhuo.sqlite")
    //"SELECT SUM(price), product, date, amount FROM stock GROUP BY product"
    for user in (try? db?.prepare(selectCode))!! {
        var testA = user[0] //Int
        var testB  = user[1] //Int
        var testC  = user[2] //Date
        var testD  = user[3] //Int

        let optionalCount : Int64 = Optional(user[0]) as! Int64
        let lCount = Int(optionalCount)
    }

昨天轉Int
成功範例為

let optionalCount : Int64 = Optional(user[0]) as! Int64
let lCount = Int(optionalCount)

今天研究最簡單寫法
直接不用加Optional也可以
如以下程式碼

Int(user[0] as! Int64)

今天的重點就是Date勒
我這次試過轉Date 失敗
轉Int 失敗
轉Int64 失敗
只有轉String成功
還是我要轉Data應該不是吧

let testC = Optional(user[2]) as! String

得出結果如下

"2018-10-28T14:36:53.595"

那我也只能在使用String再去轉Date
這樣是最笨的方法
要再多去爬國外網站了


上一篇
[Day 24] Swift SQLite.swift 回傳Value Binding 轉換教學
下一篇
[Day 26] Swift SQLite.swift GROUP BY 與 SUM 語法
系列文
iOS 從 Objective-c 進化為 Swift 的 30天之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言